/**
 * Copyright (c) 2018 开源 All rights reserved.
 *
 * https://www.chengcang.com
 *
 * 版权所有，侵权必究！
 */

package com.chengcang.admin.modules.sys.dao;

import com.chengcang.admin.modules.sys.entity.SysUserEntity;
import com.chengcang.common.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 系统用户
 * 
 * @author zhanli
 */
@Mapper
public interface SysUserDao extends BaseDao<SysUserEntity> {

	List<SysUserEntity> getList(Map<String, Object> params);

	SysUserEntity getById(Long id);

	SysUserEntity getByUsername(String username);

	int updatePassword(@Param("id") Long id, @Param("newPassword") String newPassword);
	/**
	 * 修改密码
	 * @param ids
	 * @param newPassword
	 * @param remark
	 * @param tenantId
	 * @return
	 */
	int resetPassword(@Param("ids") List<Long> ids, @Param("newPassword") String newPassword,@Param("remark") String remark,@Param("tenantId") Long tenantId);

	/**
	 * 根据部门ID，查询用户数
	 */
	int getCountByDeptId(Long deptId);

	/**
	 * 根据部门统计数量
	 * @param deptIds
	 * @return
	 */
	List<Map<Long,Long>> getCountByDeptIds(List<Long> deptIds);

	/**
	 * 根据部门ID,查询用户ID列表
	 */
	List<Long> getUserIdListByDeptId(List<Long> deptIdList);

	/**
	 * 查询角色部门信息
	 * @param params
	 * @return
	 */
	List<SysUserEntity> selectListByRoleId(Map<String, Object> params);
}